Skip to content

Conversation

@SylvainSenechal
Copy link
Contributor

@SylvainSenechal SylvainSenechal commented Dec 29, 2025

Issue: CLDSRV-818

@bert-e
Copy link
Contributor

bert-e commented Dec 29, 2025

Hello sylvainsenechal,

My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.

Available options
name description privileged authored
/after_pull_request Wait for the given pull request id to be merged before continuing with the current one.
/bypass_author_approval Bypass the pull request author's approval
/bypass_build_status Bypass the build and test status
/bypass_commit_size Bypass the check on the size of the changeset TBA
/bypass_incompatible_branch Bypass the check on the source branch prefix
/bypass_jira_check Bypass the Jira issue check
/bypass_peer_approval Bypass the pull request peers' approval
/bypass_leader_approval Bypass the pull request leaders' approval
/approve Instruct Bert-E that the author has approved the pull request. ✍️
/create_pull_requests Allow the creation of integration pull requests.
/create_integration_branches Allow the creation of integration branches.
/no_octopus Prevent Wall-E from doing any octopus merge and use multiple consecutive merge instead
/unanimity Change review acceptance criteria from one reviewer at least to all reviewers
/wait Instruct Bert-E not to run until further notice.
Available commands
name description privileged
/help Print Bert-E's manual in the pull request.
/status Print Bert-E's current status in the pull request TBA
/clear Remove all comments from Bert-E from the history TBA
/retry Re-start a fresh build TBA
/build Re-start a fresh build TBA
/force_reset Delete integration branches & pull requests, and restart merge process from the beginning.
/reset Try to remove integration branches unless there are commits on them which do not appear on the source branch.

Status report is not available.

@codecov
Copy link

codecov bot commented Dec 29, 2025

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
8072 2 8070 0
View the top 2 failed test(s) by shortest run time
"before each" hook for "should batch delete 1000 objects quietly"::Multi-Object Versioning Delete Success With default signature "before each" hook for "should batch delete 1000 objects quietly"
Stack Traces | 0.024s run time
socket hang up
"after each" hook for "should batch delete 1000 objects quietly"::Multi-Object Versioning Delete Success With default signature "after each" hook for "should batch delete 1000 objects quietly"
Stack Traces | 0.09s run time
The bucket you tried to delete is not empty.

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@SylvainSenechal SylvainSenechal force-pushed the improvement/CLDSRV-818 branch 2 times, most recently from 946b893 to 87b0f49 Compare December 29, 2025 18:26
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@francoisferrand I tried the curl command provided in the doc we gave to the client :
curl -X PUT "http://localhost:8000/testb/?quota=true" --user "accessKey1:verySecretKey1" --aws-sigv4 "aws:amz:us-east-1:s3" -d '{"quota" : 32}'

In that case, curl will not set the content-type header. So I think it's tricky to modify the logic around the body parsing by using content type, because clients can't be expected to set that header so no matter what we will have to use a fallback which is basically the code that we already have with the try/catch

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we should check the contentType if set (and default to JSON if not) ?

switch(contentType) {
case 'xml':
   return parseString(requestBody, { explicitArray: false }, (xmlError, xmlData) => { [...] };

case 'json':
default:
   const jsonData = JSON.parse(requestBody);
   return next(null, jsonData);
}

could be a followup ticket, or just this one as it is probably simple:

  • probably a good time to make this change: 9.3 already has "risky" changes, and we have time before we ship it
  • should be fine if we keep JSON as fallback (according to the docs which were shared)
  • esp. quota API is not widely used at the moment
  • but we need to test it explicitly to avoid any surprise

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes let's make that change and add it in 9.3

@scality scality deleted a comment from bert-e Dec 30, 2025
@bert-e
Copy link
Contributor

bert-e commented Jan 6, 2026

Incorrect fix version

The Fix Version/s in issue CLDSRV-818 contains:

  • 9.2.13

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

  • 9.2.15

  • 9.3.0

Please check the Fix Version/s of CLDSRV-818, or the target
branch of this pull request.

@scality scality deleted a comment from bert-e Jan 9, 2026
@SylvainSenechal SylvainSenechal changed the base branch from development/9.2 to development/9.3 January 9, 2026 15:45
@bert-e
Copy link
Contributor

bert-e commented Jan 9, 2026

Waiting for approval

The following approvals are needed before I can proceed with the merge:

  • the author

  • 2 peers

{
"name": "@zenko/cloudserver",
"version": "9.2.14",
"version": "9.3.0-preview.1",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wanna do this now, because this change is for the cloudserver quota client feature, and I need an image with this new code to run in the test pipeline. Otherwise can't merge the new client

@scality scality deleted a comment from bert-e Jan 9, 2026
it('should update quota with XML format', async () => {
try {
const xmlQuota = '<QuotaConfiguration><Quota>3000</Quota></QuotaConfiguration>';
await sendRequest('PUT', '127.0.0.1:8000', `/${bucket}/?quota=true`, xmlQuota);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it not be something like this:
(may be the same, but closer to how AWS documents its own api...)

Suggested change
await sendRequest('PUT', '127.0.0.1:8000', `/${bucket}/?quota=true`, xmlQuota);
await sendRequest('PUT', '127.0.0.1:8000', `/${bucket}/?quota`, xmlQuota);

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the api is written with quota=true in the client doc, the existing tests are also using quota=true.
Upon testing it seems that all of these will work :
{bucketName}/quota=true
{bucketName}/quota=false
{bucketName}/quota=
{bucketName}/quota

But considering the existing documentation and code, I think we can keep using quota=true

@SylvainSenechal
Copy link
Contributor Author

/approve

@bert-e
Copy link
Contributor

bert-e commented Jan 12, 2026

Build failed

The build for commit did not succeed in branch improvement/CLDSRV-818

The following options are set: approve

@bert-e
Copy link
Contributor

bert-e commented Jan 12, 2026

I have successfully merged the changeset of this pull request
into targetted development branches:

  • ✔️ development/9.3

The following branches have NOT changed:

  • development/7.10
  • development/7.4
  • development/7.70
  • development/8.8
  • development/9.0
  • development/9.1
  • development/9.2

Please check the status of the associated issue CLDSRV-818.

Goodbye sylvainsenechal.

The following options are set: approve

@bert-e bert-e merged commit 247b008 into development/9.3 Jan 12, 2026
105 of 139 checks passed
@bert-e bert-e deleted the improvement/CLDSRV-818 branch January 12, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants